home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NOVA - For the NeXT Workstation
/
NOVA - For the NeXT Workstation.iso
/
SourceCode
/
AdobeExamples
/
NX_CtlPoints
/
ControlView.h
< prev
next >
Wrap
Text File
|
1992-12-19
|
4KB
|
126 lines
/*
* (a) (C) 1990 by Adobe Systems Incorporated. All rights reserved.
*
* (b) If this Sample Code is distributed as part of the Display PostScript
* System Software Development Kit from Adobe Systems Incorporated,
* then this copy is designated as Development Software and its use is
* subject to the terms of the License Agreement attached to such Kit.
*
* (c) If this Sample Code is distributed independently, then the following
* terms apply:
*
* (d) This file may be freely copied and redistributed as long as:
* 1) Parts (a), (d), (e) and (f) continue to be included in the file,
* 2) If the file has been modified in any way, a notice of such
* modification is conspicuously indicated.
*
* (e) PostScript, Display PostScript, and Adobe are registered trademarks of
* Adobe Systems Incorporated.
*
* (f) THE INFORMATION BELOW IS FURNISHED AS IS, IS SUBJECT TO
* CHANGE WITHOUT NOTICE, AND SHOULD NOT BE CONSTRUED
* AS A COMMITMENT BY ADOBE SYSTEMS INCORPORATED.
* ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSIBILITY
* OR LIABILITY FOR ANY ERRORS OR INACCURACIES, MAKES NO
* WARRANTY OF ANY KIND (EXPRESS, IMPLIED OR STATUTORY)
* WITH RESPECT TO THIS INFORMATION, AND EXPRESSLY
* DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR PARTICULAR PURPOSES AND NONINFRINGEMENT
* OF THIRD PARTY RIGHTS.
*/
/*
* ControlView.h
*
* Version: 2.0
* Author: Ken Fromm
* History:
* 03-07-91 Added this comment.
*/
#import "ControlPoint.h"
#import <appkit/appkit.h>
#import <appkit/View.h>
#define MAX_POINTS 1000 /* Maximum number of points */
#define MAX_ARRAY (2*MAX_POINTS) /* Maximum size of pt arrays */
#define MAX_UPATHOPS MAX_ARRAY /* Maximum points for a user path */
/***********************************************************************************************/
/* Note: The two limits below are necessary because ufill and rectstroke will produce */
/* limitchecks for numbers exceeding these values. */
/***********************************************************************************************/
#define MAX_UPATHPTS 2800 /* Maximum points for a user path */
#define MAX_RECTPTS 525 /* Maximum rects for a rect stroke */
#define BGCOLOR NX_WHITE /* Background color */
#define BGCOLORSTR 0.0 /* Background stroke color */
#define BGWIDTHSTR 2.0 /* Background stroke width */
#define DRAWALL 0xfe /* Draw with all methods */
@interface ControlView : View
{
BOOL PSTrace;
char *OpsBuffer;
int numberOfPoints, indexOfPoints;
float *XYPoints, *XYBuffer;
id drawMethodsMatrix, displayTimesMatrix, numberPointsMatrix,
imageId, controlPoint;
union {
struct {
unsigned char basic:1;
unsigned char usercache:1;
unsigned char userpath:1;
unsigned char rectop:1;
unsigned char composite:1;
unsigned char show:1;
unsigned char xyshow:1;
unsigned char PADDING:1;
} flags;
unsigned char field;
} drawFlags;
}
- initFrame:(const NXRect *) frameRect;
-free;
-setDrawMethodsMatrix:anObject;
-setDisplayTimesMatrix:anObject;
-setNumberPointsMatrix:anObject;
-setControlPoint:anObject;
-setButtonTitle:(OP) title;
-setButtonEnable:(BOOL) enable;
-psTrace:sender;
-configureDependence:sender;
-configurePoints:sender;
-makePoints:sender;
-eraseTimes:sender;
-drawViewOne:sender;
-drawViewAll:sender;
-drawBasic:(int) cell;
-drawUserCache:(int) cell;
-drawUserPath:(int) cell;
-drawRectOp:(int) cell;
-drawComposite:(int) cell;
-drawShow:(int) cell;
-drawXYShow:(int) cell;
-drawSelf:(NXRect *)r :(int) count;
@end